/*     */ package com.wgcloud.util;
/*     */ 
/*     */ import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.io.File;
import java.math.BigDecimal;
import java.util.*;

/*     */
/*     */
/*     */
/*     */
/*     */
/*     */
/*     */
/*     */
/*     */
/*     */
/*     */
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ public class FormatUtil
/*     */ {
/*  23 */   private static Logger logger = LoggerFactory.getLogger(com.wgcloud.util.FormatUtil.class);
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static String formatSize(long size) {
/*  34 */     String sizeStr = "";
/*     */     
/*  36 */     if (size < 1024L) {
/*  37 */       sizeStr = size + " Bytes";
/*     */     
/*     */     }
/*  40 */     else if (size > 1024000L) {
/*  41 */       sizeStr = Float.toString((float)size / 1024000.0F);
/*  42 */       if (sizeStr.length() > 4) {
/*  43 */         sizeStr = sizeStr.substring(0, 4);
/*     */       }
/*  45 */       if (sizeStr.endsWith(".")) {
/*  46 */         sizeStr = sizeStr.substring(0, sizeStr.length() - 1);
/*     */       }
/*  48 */       sizeStr = sizeStr + " M";
/*     */     } else {
/*  50 */       sizeStr = Float.toString((float)size / 1024.0F);
/*  51 */       if (sizeStr.length() > 4) {
/*  52 */         sizeStr = sizeStr.substring(0, 4);
/*     */       }
/*  54 */       if (sizeStr.endsWith(".")) {
/*  55 */         sizeStr = sizeStr.substring(0, sizeStr.length() - 1);
/*     */       }
/*  57 */       sizeStr = sizeStr + " K";
/*     */     } 
/*  59 */     return sizeStr;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static String timesToDay(Long l) {
/*  69 */     if (l == null) {
/*  70 */       return "";
/*     */     }
/*  72 */     StringBuffer sb = new StringBuffer();
/*  73 */     long seconds = 1L;
/*  74 */     long minutes = 60L * seconds;
/*  75 */     long hours = 60L * minutes;
/*  76 */     long days = 24L * hours;
/*  77 */     if (l.longValue() / days >= 1L) {
/*  78 */       sb.append((int)(l.longValue() / days) + "天");
/*     */     }
/*  80 */     if (l.longValue() % days / hours >= 1L) {
/*  81 */       sb.append((int)(l.longValue() % days / hours) + "小时");
/*     */     }
/*  83 */     if (l.longValue() % days % hours / minutes >= 1L) {
/*  84 */       sb.append((int)(l.longValue() % days % hours / minutes) + "分钟");
/*     */     }
/*  86 */     if (l.longValue() % days % hours % minutes / seconds >= 1L) {
/*  87 */       sb.append((int)(l.longValue() % days % hours % minutes / seconds) + "秒");
/*     */     }
/*  89 */     return sb.toString();
/*     */   }
/*     */ 
/*     */   
/*     */   public static String formatPath(String pathStr, boolean isEndWithSeparator) {
/*  94 */     pathStr = formatPath(pathStr);
/*  95 */     pathStr = pathStr + File.separator;
/*  96 */     return pathStr;
/*     */   }
/*     */   
/*     */   public static String formatPath(String pathStr) {
/* 100 */     pathStr = pathStr.replace('/', File.separatorChar);
/* 101 */     pathStr = pathStr.replace('\\', File.separatorChar);
/* 102 */     if (pathStr.endsWith(File.separator)) {
/* 103 */       pathStr = pathStr.substring(0, pathStr.length() - 1);
/* 104 */       pathStr = formatPath(pathStr);
/*     */     } 
/* 106 */     return pathStr;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static boolean isNumeric(String str) {
/* 117 */     if (str != null && !"".equals(str) && !str.startsWith("0")) {
/* 118 */       for (int i = str.length(); --i >= 0; ) {
/* 119 */         int chr = str.charAt(i);
/* 120 */         if (chr < 48 || chr > 57) {
/* 121 */           return false;
/*     */         }
/*     */       } 
/* 124 */       return true;
/*     */     } 
/* 126 */     return false;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static boolean isLetter(char c) {
/* 138 */     int k = 128;
/* 139 */     return (c / k == 0);
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static String getDomainForUrl(String url) {
/* 150 */     return url.replaceAll("http://([^/|:]+)[/|:].*", "$1");
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static String kbToM(String str) {
/* 160 */     if (StringUtils.isEmpty(str)) {
/* 161 */       return "0";
/*     */     }
/* 163 */     double result = 0.0D;
/* 164 */     double mod = 1024.0D;
/*     */     try {
/* 166 */       double strDouble = Double.valueOf(str).doubleValue();
/* 167 */       if (strDouble > 1024.0D) {
/* 168 */         result = strDouble / mod;
/* 169 */         return formatDouble(Double.valueOf(result), 2) + "M";
/*     */       } 
/* 171 */     } catch (Exception e) {
/* 172 */       logger.error("kb转为M错误：", e);
/* 173 */       return str + "K";
/*     */     } 
/* 175 */     return str + "K";
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static String mToG(String str) {
/* 185 */     if (StringUtils.isEmpty(str)) {
/* 186 */       return "";
/*     */     }
/* 188 */     double result = 0.0D;
/* 189 */     double mod = 1024.0D;
/*     */     try {
/* 191 */       double strDouble = Double.valueOf(str).doubleValue();
/* 192 */       if (strDouble > 1024.0D) {
/* 193 */         result = strDouble / mod;
/* 194 */         return formatDouble(Double.valueOf(result), 2) + "G";
/*     */       } 
/* 196 */     } catch (Exception e) {
/* 197 */       logger.error("m转为g错误：", e);
/* 198 */       return str + "M";
/*     */     } 
/* 200 */     return str + "M";
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static String gToT(String str) {
/* 210 */     if (StringUtils.isEmpty(str)) {
/* 211 */       return "0G";
/*     */     }
/* 213 */     double result = 0.0D;
/* 214 */     double mod = 1024.0D;
/*     */     try {
/* 216 */       double strDouble = Double.valueOf(str).doubleValue();
/* 217 */       if (strDouble > 1024.0D) {
/* 218 */         result = strDouble / mod;
/* 219 */         return formatDouble(Double.valueOf(result), 1) + "T";
/*     */       } 
/* 221 */     } catch (Exception e) {
/* 222 */       logger.error("G转为T错误：", e);
/* 223 */       return str + "G";
/*     */     } 
/* 225 */     return formatDouble(Double.valueOf(str), 1) + "G";
/*     */   }
/*     */ 
/*     */ 
/*     */   
/*     */   public static List<String> sortMapValueDouble(Map<String, Integer> maps) {
/* 231 */     List<Map.Entry<String, Integer>> info = new ArrayList<>(maps.entrySet());
/* 232 */     List<String> desc = new ArrayList<>();
/* 233 */     Collections.sort(info, (Comparator<? super Map.Entry<String, Integer>>)new  DoubleComparator());
/* 234 */     for (Map.Entry<String, Integer> map : info) {
/* 235 */       desc.add(map.getKey());
/*     */     }
/* 237 */     return desc;
/*     */   }
/*     */
// 自定义比较器：按相似度来排序
static class DoubleComparator implements Comparator {
    public int compare(Object object1, Object object2) {// 实现接口中的方法
        Map.Entry<String, Integer> p1 = (Map.Entry<String, Integer>) object1; // 强制转换
        Map.Entry<String, Integer> p2 = (Map.Entry<String, Integer>) object2;
        return p2.getValue().compareTo(p1.getValue());
    }
}
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static double formatDouble(Double str, int num) {
/* 259 */     if (str == null) {
/* 260 */       return 0.0D;
/*     */     }
/* 262 */     BigDecimal b = new BigDecimal(str.doubleValue());
/* 263 */     double myNum3 = b.setScale(num, 4).doubleValue();
/* 264 */     return myNum3;
/*     */   }
/*     */   
/*     */   public static Date getDateBefore(Date datetimes, int day) {
/* 268 */     Calendar now = Calendar.getInstance();
/* 269 */     now.setTime(datetimes);
/* 270 */     now.set(5, now.get(5) - day);
/* 271 */     return now.getTime();
/*     */   }
/*     */ 
/*     */   
/*     */   public static String longToStr(Long num) {
/* 276 */     if (num == null) {
/* 277 */       return "0";
/*     */     }
/* 279 */     if (num.longValue() < 100000L) {
/* 280 */       return num + "";
/*     */     }
/* 282 */     double n = num.longValue() / 10000.0D;
/* 283 */     return n + "万";
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static String haveSqlDanger(String sql) {
/* 294 */     if (StringUtils.isEmpty(sql)) {
/* 295 */       return "";
/*     */     }
/* 297 */     sql = sql.toLowerCase();
/* 298 */     String[] sqlinkeys = "execute ,update ,delete ,insert ,create ,drop ,alter ,rename ,modify ".split(",");
/* 299 */     for (String sqlinkey : sqlinkeys) {
/* 300 */       if (sql.indexOf(sqlinkey) > -1) {
/* 301 */         return sqlinkey;
/*     */       }
/*     */     } 
/* 304 */     return "";
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static String haveBlockDanger(String shell, String linuxBlock, String winBlock) {
/* 316 */     if (StringUtils.isEmpty(shell)) {
/* 317 */       return "";
/*     */     }
/* 319 */     if (StringUtils.isEmpty(linuxBlock) && StringUtils.isEmpty(winBlock)) {
/* 320 */       return "";
/*     */     }
/* 322 */     shell = shell.toLowerCase();
/* 323 */     String[] blocks = linuxBlock.split(",");
/* 324 */     for (String blockStr : blocks) {
/* 325 */       if (shell.indexOf(blockStr) > -1) {
/* 326 */         return blockStr;
/*     */       }
/*     */     } 
/* 329 */     blocks = winBlock.split(",");
/* 330 */     for (String blockStr : blocks) {
/* 331 */       if (shell.indexOf(blockStr) > -1) {
/* 332 */         return blockStr;
/*     */       }
/*     */     } 
/* 335 */     return "";
/*     */   }
/*     */ }


/* Location:              /Users/zhangyongxin/soft-install/wgcloud/wgcloud-v3.3.5/server/bank/wgcloud-server-release.jar!/BOOT-INF/classes/com/wgcloud/util/FormatUtil.class
 * Java compiler version: 8 (52.0)
 * JD-Core Version:       1.1.3
 */